-
Notifications
You must be signed in to change notification settings - Fork 15k
[AArch64] Remove post-decoding instruction mutations #156364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AArch64] Remove post-decoding instruction mutations #156364
Conversation
|
✅ With the latest revision this PR passed the C/C++ code formatter. |
769d57a to
ed29165
Compare
5cc7d7a to
261f86f
Compare
a112090 to
c66fd0b
Compare
261f86f to
d72f713
Compare
b60b806 to
ec3ee1e
Compare
772f655 to
7112890
Compare
ec3ee1e to
098f887
Compare
7112890 to
ed950c3
Compare
098f887 to
46fc93b
Compare
ed950c3 to
f3b4f27
Compare
ee67c36 to
9709854
Compare
f3b4f27 to
6830ba2
Compare
9709854 to
aa97c88
Compare
6830ba2 to
b95e187
Compare
aa97c88 to
f31a7b8
Compare
b95e187 to
9758552
Compare
607d600 to
054fefc
Compare
|
gentle ping |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not the biggest expert here, and bits<0> seems a little unusual, but as far as I can tell this LGTM. Thanks
It kind of makes sense if you look at related instructions, e.g.: |
These instructions can now be fully decoded automatically.
5e59a9a to
cbbc47b
Compare
This was updated in #156364 but `-ignore-non-decodable-operands` was removed from the wrong tablegen arg list (arm vs aarch64)
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/18/builds/21322 Here is the relevant piece of the build log for the reference |
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/168/builds/16243 Here is the relevant piece of the build log for the reference |
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/72/builds/15142 Here is the relevant piece of the build log for the reference |

Add
bits<0>fields to instructions using the ZTR/MPR/MPR8 register classes.These register classes contain only one register, and it is not encoded in the instruction.
This way, the generated decoder can completely decode instructions without having to perform a post-decoding pass to insert missing operands.
Some immediate operands are also not encoded and have only one possible value "zero". Use this trick for them, too.
Finally, remove
-ignore-non-decodable-operandsoption fromllvm-tblgeninvocation to ensure that non-decodable operands do not appear in the future.